#pragma once
#include<istream>
#include<functional>

typedef std::function<int(int,int,std::string )>func_t;
class Task
{
public:
    Task(){}
    Task(int x,int y,func_t callback)
    :_x(x)
    ,_y(y)
    ,_func(callback)
    {

    }
    int operator()(std::string name)
    {
        return _func(_x,_y,name);
    }
private:
    int _x;
    int _y;
    func_t _func;
};